package com.woniu.cms.psm.core.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.woniu.cms.psm.core.config.CustomJsonDateDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author lilili
 * @since 2022-09-16
 */
@Getter
@Setter
  @TableName("cms_pm_feasibility")
@ApiModel(value = "PmFeasibility对象", description = "")
public class PmFeasibility implements Serializable {

    private static final long serialVersionUID = 1L;

      @ApiModelProperty("立项表单编号")
        @TableId(value = "id", type = IdType.AUTO)
      private Integer id;

      @ApiModelProperty("立项年份,四位数年份")
      private Date feasibilityDate;

      @ApiModelProperty("项目编号，明确为4位年+5位流水号")
      private String projectId;

      @ApiModelProperty("内部合同编号")
      private String intercontractId;

      @ApiModelProperty("生产中心")
      private String productCenter;

      @ApiModelProperty("工程项目名称")
      private String projectName;

      @ApiModelProperty("工程类别")
      private String projectCategory;

      @ApiModelProperty("所属地区")
      private String region;

      @ApiModelProperty("所属专业")
      private String major;

      @ApiModelProperty("项目所属地")
      private String area;

      @ApiModelProperty("项目经理")
      private String projectManager;

      @ApiModelProperty("技术负责人")
      private String techLead;

      @ApiModelProperty("施工单位")
      private String constructionFirm;

      @ApiModelProperty("设计单位")
      private String designFirm;

      @ApiModelProperty("监理单位")
      private String supervisorFirm;

      @ApiModelProperty("设计单位设计员")
      private String designer;

      @ApiModelProperty("监理单位监理员")
      private String supervisor;

      @ApiModelProperty("项目总投资")
      private BigDecimal projectInvestmentCost;

      @ApiModelProperty("项目材料费")
      private BigDecimal projectMaterialCost;

      @ApiModelProperty("项目施工费")
      private BigDecimal projectConstructionCost;

      @ApiModelProperty("项目其他费")
      private BigDecimal projectOtherCost;

      @ApiModelProperty("三盯费")
      private BigDecimal threeeyesCost;

      @ApiModelProperty("小型建筑费")
      private BigDecimal smallConstructCost;

      @ApiModelProperty("赔补费")
      private BigDecimal compensateCost;

      @ApiModelProperty("调遣费")
      private BigDecimal dispatchCost;

      @ApiModelProperty("仪表费")
      private BigDecimal instrumentCost;

      @ApiModelProperty("二次搬运费")
      private BigDecimal secondRemoveCost;

      @ApiModelProperty("合同金额")
      private BigDecimal contractCost;

      @ApiModelProperty("货币工程量")
      private BigDecimal projectCost;

      @ApiModelProperty("建设单位工程编号")
      private String buildFirmProjectId;

      @ApiModelProperty("项目类型")
      private String projectType;

      @ApiModelProperty("建设单位")
      private String buildFirm;

      @ApiModelProperty("建设单位管理员")
      private String buildManager;

      @ApiModelProperty("建设单位管理部门")
      private String buildManageDept;

      @ApiModelProperty("劳务合作单位，可多条数据")
      private String laborCoopFirm;

      @ApiModelProperty("合同开工日期")
      private Date contractBeginDate;

      @ApiModelProperty("合同完工日期")
      private Date contractEndDate;

      @ApiModelProperty("计划工期")
      private Integer contractPeriod;

      @ApiModelProperty("实际开工日期")
      private Date practicalBeginDate;

      @ApiModelProperty("实际完工日期")
      private Date practicalEndDate;

      @ApiModelProperty("实际工期")
      private Integer practicalPeriod;

      @ApiModelProperty("设计技工工日")
      private Integer designHighworkerPeriod;

      @ApiModelProperty("设计普工工日")
      private Integer designLowworkerPeriod;

      @ApiModelProperty("合同编号，可多条数据")
      private String contractId;

      @ApiModelProperty("项目描述")
      private String projectDesc;

      @ApiModelProperty("运营商")
      private String operators;

      @ApiModelProperty("审批状态；0：申请审批（默认）")
      private Integer applyStatus;

      @ApiModelProperty("项目状态；0：正常施工，1：停工，2：完工，3：初验，4：终验")
      private Integer projectStatus;

      @ApiModelProperty("施工日期")
      private Date constructionDate;


}
